// 入口文件
import Vue from 'vue'
import App from './App.vue'
// 导入路由:省略index.js  后面跟的是路径
import router from './router'
//  element-ui是一个组件库   后面跟的是下载的包名
import ElementUI from 'element-ui'
//  element-ui 的css文件
import 'element-ui/lib/theme-chalk/index.css'
//  引入axios发送请求 @是一个特殊的符号在webpack中的配置中它表示src目录  将二次封装的包挂载在vue原型对象上
import axios from '@/utils/request.js'
//  绑定在vue的原型上方便重复使用  二次封装的axios挂载到vue的原型
// 好处是所有的vue的组件都可以通过this.$axios来访问

// 全局注册
// 导入面包屑导航组件注册全局组件
import MyBreadcrumb from '@/components/myBreadcrumb'
// 频道组件
import MyChannel from '@/components/myChannel.vue'
import MyCover from '@/components/cover.vue'
// 因为组件导出的也是一个对象所以全局组件直接写导出的对象
Vue.component('MyBreadcrumb', MyBreadcrumb)
Vue.component('MyChannel', MyChannel)
Vue.component('MyCover', MyCover)

// 绑定在vue的原型上
Vue.prototype.$axios = axios
// 用一个vue的实例来充当事件总线对象
// 把它挂在原型上，则所有的组件都可以访问
Vue.prototype.$eventBus = new Vue()
Vue.use(ElementUI)

// 不采用开发提示
Vue.config.productionTip = false

new Vue({
  // 路由挂载在根实例上
  router,
  render: h => h(App)
}).$mount('#app')
// #app 渲染到 public/index.html中dom元素结构
